home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.5)
-
- from threadpool import ThreadPool, WorkRequest
- from functools import wraps
- from util.callbacks import callsback
- from util.introspect import funcinfo
- from logging import getLogger
- log = getLogger('threadpool2')
-
- def threaded(func):
-
- def wrapper(*a, **kws):
- callback = kws.pop('callback')
- requestID = kws.pop('requestID', None)
- req = WorkRequest(func, args = a, kwds = kws, requestID = requestID, callback = callback.success, exc_callback = callback.error)
- req.verbose = wrapper.verbose
- t = ThreadPool()
- t.putRequest(req)
-
- wrapper = None((wraps(func), callsback)(wrapper))
- wrapper.verbose = True
- return wrapper
-
-
- def threadedonce(func):
-
- def wrapper(*a, **kws):
- t = ThreadPool()
- if func in t:
- log.warning('%s is already running in the ThreadPool, not running', funcinfo(func))
- else:
- callback = kws.pop('callback')
- requestID = kws.pop('requestID', None)
- req = WorkRequest(func, args = a, kwds = kws, requestID = requestID, callback = callback.success, exc_callback = callback.error)
- t.putRequest(req)
-
- wrapper = wraps(func)((callsback,)(wrapper))
- return wrapper
-
-